home *** CD-ROM | disk | FTP | other *** search
-
- //
- // Description:
- // Tool Bar example. This JavaScript program defines new class called
- // myTransformTools. It creates a tool bar consisting
- // of two tool buttons: Move and Scale.
- //
- // Super class:
- // myclasses/toolbars/toolbar.js
- //
- // Constructor:
- // toolbar = new myTransformTools(Integer Orientation);
- //
- // Methods:
- // --
- //
-
- include("myclasses/toolbars/mytoolbar.js"); // our super class
- include("real/layer/r3prilay.js"); // geometrics objects
-
-
- // --- Functionality for our tool buttons ---
-
- function mytrMove(button, event, value)
- {
- var m = new r3Matrix();
-
- m.identity();
- m.translate(0.1, 0.0, 0.0);
- button.layer.TRANSFORM(m);
- return 1;
- }
-
- function mytrScale(button, event, value)
- {
- var m = new r3Matrix();
-
- m.identity();
- m.scale(0.5, 0.5, 0.5);
- button.layer.TRANSFORM(m);
- return 1;
- }
-
- function mytrRotate(button, event, value)
- {
- m = new r3Matrix();
- vAxis = new r3Vect(0, 0, 1);
-
- m.identity();
- m.rotate(Math.PI/2, vAxis);
- button.layer.TRANSFORM(m);
- return 1;
- }
-
- // --- Constructor for our transformation tool bar ---
-
- function myTransformTools(orientation)
- {
- // Let the super class to do its job, as usual
- if(arguments.length == 0)
- return;
-
- // create JavaScript interface for accessing geometric objects layer
- primLayer = new r3Primlayer();
- primLayer.r3Attach(Get("CurrentProject.Geometrics"));
-
- // call super class constructor, as usual
- this.base = myToolBar;
- this.base("Transformation Tools", orientation, primLayer);
-
- // Add tool buttons.
- this.AddTool("Move", mytrMove);
- this.AddTool("Scale", mytrScale);
- this.AddTool("Rotate", mytrRotate);
- }
-
- myTransformTools.prototype=new myToolBar;
-